In today's environment, a server computer system often includes several components, such as the server itself, hard drives, or other peripheral devices. These components are generally stored in racks. For a large organization, the storage racks can number in the hundreds and occupy huge amounts of expensive floor space. Also, because the components are generally free standing components (i.e., they are not integrated), resources such as disk drives, keyboards, and monitors cannot easily be shared. Blade servers have been developed to bundle the server computer system described above into a compact operating unit. A blade server may be a high-density, rack-mounted packaging architecture for servers that provides input/output (I/O), systems management, and power to individual blades. Blades may include servers, processor nodes, storage nodes, or other components and may each plug into and operationally connect to the blade server to share in resources such as power, cooling, network connectivity, management functions, and access to other shared resources (such as a front-panel or CD-ROM drive). ‘Sidecar’ blades may also be attached to other parent blades to provide additional functionality to the parent blade. Child ‘sidecars’ may be stacked more than one deep and may include storage add-ons, PCI expansion add-ons, special function (e.g., daughter cards) add-ons, etc.
In server design, as in the design of many other types of computer systems, there is a trend towards higher densities of components. For example, it is often desirable to put a greater number of server blades into a package of given size. One feature of blade servers is that individual blades may be ‘hot swapped’ without affecting the operation of other blades in the system. An administrator or other user may simply remove one blade (such as one that is inoperable or that will be replaced) and place another in its place. Such flexibility, however, comes at the price of additional complexity as to the current configuration of a system. When combined with the higher densities of modern systems, users may have difficulty determining the current configuration of the blades in a blade server. This problem may be exacerbated by the typical chassis design that keeps hidden from the user the connections between blades and sidecars when such components are installed. Child sidecars may be smaller than, larger than, or the same size as a parent blade and may be stacked to the left, right, above, or below its parent blade. In some cases, the child sidecar may be another blade. Particularly when combined with the fact that sidecars may be stacked on top of each other, it is often difficult to determine which blade components are attached to which. This causes problems, for example, when a user decides to change the blade configuration just by looking at the physical devices as they cannot easily determine the current configuration. The difficulty in determining the current configuration of blades and sidecars can result in frustration, wasted time in trying to determine the configuration, and wasted resources when sidecars are not properly utilized.
One solution to this problem is for users to physically pull out a blade in order to ascertain which other blades and sidecars to which it is connected. Besides the time-consuming nature of this solution, such a solution does not provide an effective indication of sidecars that are not attached to any blade. A retracted blade also is not providing functionality while it is retracted. Moreover, a user would have to repeat the task of manually pulling out each blade if they forgot the configuration, and other users (e.g., other administrators from different shifts) would also have to perform the same task. Another solution would be to record (such as in a notebook) an indication of the current blade configuration, but such a solution is inefficient and prone to errors when administrators forget to update the log. There is, therefore, a need for an effective and efficient system to provide an indication of the configuration of blades that does not require retraction of the blades.